/**
 * 
 * 思路1: 在ios下，上传的文件为空
 * input通过iframe上传文件
 * html页面只需要一个input(file)标签即可
 * 绑定一个点击事件，调用本方法
 * 调用方法：$("input标签ID").ajaxfile(url,function(result){})
 * eg: 
 * $("#myfile").ajaxfile("/xx/admin/upload", 
 * 	function(result){
 * 		console.log(result)
 * 	});
 * 
 * 调用本方法是会动态创建一个form表单，首先把input添加到form,然后把form添加到iframe，提交iframe到后台，获取返回结果
 * 
 * 
 */
/*
$.fn.ajaxFile = function(url,callback) { 
		//创建form
		var form = $('<form id="uploadform" method="post" enctype="multipart/form-data"></form>');

		// 设置属性
	    form.attr('action', url);

		//获取input
		var input = $(this).clone();
		//把input添加到form
		form.append(input);
		//创建iframe
		var iframe = $('<iframe id="myframe" name="myframe" style="display:none"></iframe>');
		//添加到页面
		$(document.body).append(iframe);
		//form添加到iframe
		iframe.contents().find("body").append(form);
		//提交iframe
		form.submit();
		//获取返回的结果 
		iframe.load(function(e){
			var result = iframe.contents().text();
			console.log(result);
			//把返回的JSON字符串转换成对象，如果失败则不转换
			try{
				if(callback){
					var res = JSON.parse(result);
					callback(res);
				}
			}catch(error){
				if(callback){
					callback(result);
				}
			}
			//移除iframe
			iframe.remove();
		});
	}

 */

/**
 * 添加iframe, 在iframe中添加form, 在form中添加input[type=file]
 * 然后调用input.click(), 监听input.change()事件，上传文件
 * 然后监听iframe.load()事件上传文件，获取结果
 * @param url
 * @param callback
 * @returns
 */
function ajaxFile(url, callback){

	//创建form
	var form = $('<form method="post" enctype="multipart/form-data"></form>');

	// 设置属性
	form.attr('action', url);

	//创建input
	var input = $("<input type='file' name='files'/>")
	//把input添加到form
	form.append(input);

	//创建iframe
	var iframe = $('<iframe style="display:none"></iframe>');
	//添加到页面
	$(document.body).append(iframe);
	//form添加到iframe
	iframe.contents().find("body").append(form);

	input.click();

	input.change(function(e){
		//上传缩略图
		form.submit();
		
		iframe.load(function(e){
			var result = iframe.contents().find("body").text();
			console.log(result);
			//把返回的JSON字符串转换成对象，如果失败则不转换
			var res = result;
			try{
				res = JSON.parse(result);
			}catch(error){
				console.log("error:", error);
			}
			
			if(callback){
				callback(res);
			}
			
			//移除iframe
			iframe.remove();
		});

	});

}
